package ywpt.service.client;

import java.util.List;

import org.hibernate.criterion.DetachedCriteria;

import ywpt.model.ClientDevice;

public interface ClientDeviceService {

	public abstract ClientDevice getClientDeviceById(Long id);

	public abstract int getClientDeviceCountByCriteria(DetachedCriteria query);

	public abstract List<ClientDevice> getClientDevices(
			DetachedCriteria query, int pageSize, int startIndex);

	public abstract String createDeviceCode();

	public abstract void saveClientDevice(ClientDevice clientDevice,
			Long typeId, Long clientId, Long keshiId, Long providerId);

	public abstract void updateClientDevice(ClientDevice clientDevice,
			Long typeId, Long clientId, Long keshiId, Long providerId);

	public abstract void removeClientDevice(Long id);

	public abstract List<ClientDevice> getClientDevices();
	
	public abstract List<ClientDevice> getClientDevices(DetachedCriteria query);

	public abstract int getDeviceCountByName(String deviceName,Long clientId,Long keshiId);
	
	public abstract List<ClientDevice> getDeviceByDeviceName(String deviceName,Long clientId,Long keshiId, int start, int size);
	
	
}
